package com.yun.util.clickHouse.bean;

import java.util.List;

public class TableClassBean {
    public TableClassBean() {
    }

    public TableClassBean(String tbName, List<DbFiled> dbFiledList) {
        this.tbName = tbName;
        this.dbFiledList = dbFiledList;
    }

    public TableClassBean(String tbName, String engine, String parititionBy, String orderBy, String primaryBy, String sample, String settings, List<DbFiled> dbFiledList) {
        this.tbName = tbName;
        this.engine = engine;
        this.parititionBy = parititionBy;

        this.orderBy = orderBy;
        this.primaryBy = primaryBy;
        this.sample = sample;
        this.settings = settings;
        this.dbFiledList = dbFiledList;
    }

    public TableClassBean(String dbName, String tbName, String engine, String parititionBy, String orderBy, String primaryBy, String sample, String settings, List<DbFiled> dbFiledList) {
        this.dbName = dbName;
        this.tbName = tbName;
        this.engine = engine;
        this.parititionBy = parititionBy;
        this.orderBy = orderBy;
        this.primaryBy = primaryBy;
        this.sample = sample;
        this.settings = settings;
        this.dbFiledList = dbFiledList;
    }

    public TableClassBean(String dbName, String tbName, String engine, String parititionBy, String orderBy, String primaryBy, String sample, String settings, String[] ttlExprs, List<DbFiled> dbFiledList) {
        this.dbName = dbName;
        this.tbName = tbName;
        this.engine = engine;
        this.parititionBy = parititionBy;
        this.orderBy = orderBy;
        this.primaryBy = primaryBy;
        this.sample = sample;
        this.settings = settings;
        this.ttlExprs = ttlExprs;
        this.dbFiledList = dbFiledList;
    }

    /**
     * 数据库名
     */
    private String dbName;
    /**
     * 表名
     */
    private String tbName;
    /**
     * 表引擎
     */
    private String engine;
    /**
     * 分区键
     */
    private String parititionBy;
    /**
     * 排序键
     */
    private String orderBy;
    /**
     * 主键
     */
    private String primaryBy;
    /**
     * 抽样表达式
     */
    private String sample;
    /**
     * 影响 性能的额外参数
     */
    private String settings;
    /**
     * ttl表达式
     */
    private String[] ttlExprs;
    /**
     * 列名
     */
    private List<DbFiled> dbFiledList;

    public String getTbName() {
        return tbName;
    }

    public void setTbName(String tbName) {
        this.tbName = tbName;
    }

    public List<DbFiled> getDbFiledList() {
        return dbFiledList;
    }

    public void setDbFiledList(List<DbFiled> dbFiledList) {
        this.dbFiledList = dbFiledList;
    }

    public String getEngine() {
        return engine;
    }

    public void setEngine(String engine) {
        this.engine = engine;
    }

    public String getParititionBy() {
        return parititionBy;
    }

    public void setParititionBy(String parititionBy) {
        this.parititionBy = parititionBy;
    }

    public String getOrderBy() {
        return orderBy;
    }

    public void setOrderBy(String orderBy) {
        this.orderBy = orderBy;
    }

    public String getPrimaryBy() {
        return primaryBy;
    }

    public void setPrimaryBy(String primaryBy) {
        this.primaryBy = primaryBy;
    }

    public String getSample() {
        return sample;
    }

    public void setSample(String sample) {
        this.sample = sample;
    }

    public String getSettings() {
        return settings;
    }

    public void setSettings(String settings) {
        this.settings = settings;
    }

    public String getDbName() {
        return dbName;
    }

    public void setDbName(String dbName) {
        this.dbName = dbName;
    }

    public String[] getTtlExprs() {
        return ttlExprs;
    }

    public void setTtlExprs(String[] ttlExprs) {
        this.ttlExprs = ttlExprs;
    }
}
